package com.ruoyi.cpsp.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.cpsp.domain.EvaluateRecord;
import com.ruoyi.cpsp.domain.EvaluateRecordCurrentQuarter;
import com.ruoyi.cpsp.domain.EvaluateRecordDetail;
import com.ruoyi.cpsp.domain.EvaluateRecordEntity;

import java.util.List;

/**
 * @author neu.xiaojiacheng
 * @version 1.0
 * @date 2022/2/23 18:38
 */
public interface EvaluateRecordService {

    List<EvaluateRecord> selectEvaluateRecords(Integer year, Integer quarter);

    List<EvaluateRecord> selectEvaluateRecordsByDepart(List<String> idCardList, Integer year, Integer quarter);

    AjaxResult insertEvaluateRecord(EvaluateRecordDetail evaluateRecordDetail);

    int selectCurrMaxEvaluateRecordKey();

    List<EvaluateRecordCurrentQuarter> getMaxProp(Integer year, Integer quarter);

    List<EvaluateRecordCurrentQuarter> selectMaxProp(Integer year, Integer quarter, List<String> employeeIdCards);

    int deleteInfoById(Integer evaluateRecordId);

    EvaluateRecord selectRecordById(Integer evaluateRecordId);

    int updateByIdSelective(EvaluateRecordEntity evaluateRecordEntity);

    EvaluateRecordEntity checkTimes(Integer year, Integer quarter, String employeeIdCard,
                              String employeeDepart, Integer regulationTypeId, Integer regulationDetailId);
}
